package com.ttbj.truck.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.ttbj.api.dto.Page;
import com.ttbj.api.dto.truck.TruckCustomDto;
import com.ttbj.api.dto.truck.TruckDto;

public interface TruckMapper {
	
	/**
	 * 通过id查询货车的部分信息，用于在订单中显示
	 * @param truckId 货车id
	 * @return
	 */
	public TruckCustomDto queryTruckInfoById(Long truckId);
	
	/**
	 * 分页条件查询货车信息
	 * @param truckCustomDto 货车查询条件信息
	 * @param page 分页信息
	 * @return
	 */
	public List<TruckCustomDto> queryTruckInfoByPage(@Param("tc") TruckCustomDto truckCustomDto, @Param("page") Page page);
	
	/**
	 * 分页条件查询货车信息数量
	 * @param truckCustomDto 货车查询条件信息
	 * @return
	 */
	public Integer queryTruckInfoByPageCount(@Param("tc") TruckCustomDto truckCustomDto);
	
	/**
	 * 添加货车信息
	 * @param truckDto 货车信息
	 */
	public int insertTruckInfo(TruckDto truckDto);
	
	/**
	 * 通过id查询货车部分信息，用于编辑显示信息
	 * @param truckId 货车id
	 * @return
	 */
	public TruckDto queryTruckInfoUsedEdit(Long truckId);
	
	/**
	 * 通过id更新货车信息
	 * @param truckDto 货车信息
	 * @return
	 */
	public int updateTruckInfo(TruckDto truckDto);
	
	/**
	 * 通过货车id更改货车的禁用状态
	 * @param truckIsDel 1未禁用，0已禁用
	 * @param truckId 货车id
	 * @return
	 */
	public int updateTruckIsDel(@Param("truckIsDel") Integer truckIsDel, @Param("truckId") Long truckId);
	
	/**
	 * 通过货车id查询车牌号和entity，用于百度地图显示
	 * @param truckIds 货车主键id数组
	 * @return
	 */
	public List<TruckCustomDto> queryTruckCarnumAndEntity(Long[] truckIds);
}
